Automatic device volume adjustment based on learned volume preferences

ABSTRACT

Systems and methods for automatically adjusting device volume based on learned volume preferences are disclosed herein. A first device receives a wireless signal from a second device. A signal strength of the wireless signal is determined, and a location of the second device is determined based on the signal strength of the wireless signal. Historical volume level data for the first device is retrieved from memory. A target volume level for the first device is determined based on the location of the second device and the historical volume level data. A volume setting of the first device is automatically adjusted to the target volume level.

BACKGROUND

The present disclosure relates to the automatic volume adjustment fordevices capable of playing audio content and, more particularly, tosystems and related processes for automatically adjusting the volume ofa device by utilizing volume preferences learned based on volume levelsused in the past for various listener locations.

SUMMARY

Televisions or other such devices are installed in a variety ofenvironments, such as homes, restaurants, or the like, to provideaudio/video content for user consumption. Each of these environmentsoften has multiple viewing or listening areas, from which a user mayconsume content from such devices, with the areas having varyingacoustic properties that increase or decrease the audio level perceivedfrom the devices. Therefore, users often desire that volume level ofsuch devices be adjusted (e.g., increased or decreased) to suit theparticular area from which the user is presently consuming the content,thereby providing the user with a consistent perceived volume levelacross various user locations. Adjusting the volume level ofconventional televisions and other such devices based on user location,however, requires user intervention, such as manual input of a volumelevel adjustment command via a button on a remote control or atelevision itself or via a voice-based user interface.

In view of the foregoing, the present disclosure provides systems andrelated methods that learn volume level preferences of users based ontheir listening location and then automatically adjust device volumebased on the learned preferences, without requiring user intervention.The systems and methods described herein thus afford users a moreconvenient, more immersive, and richer viewing and listening experience.

In one example, the present disclosure provides a device with automaticvolume adjustment based on learned volume preferences. The deviceincludes a communication port, a memory, and control circuitry. Thecommunication port is configured to receive a wireless signal from asecond device, such as a remote control, a smart watch, a wearableelectronic device, or the like. The memory is configured to storehistorical volume level data, which for instance, may indicate volumelevels set for the device in the past during various determined userlocations or locations of user devices. The control circuitry isconfigured to determine a signal strength of the wireless signal andthen determine a location of the second device based on the determinedsignal strength of the wireless signal. The control circuitry retrievesthe historical volume level data from the memory, determines a targetvolume level for the first device based on the location of the seconddevice and the historical volume level data, and automatically adjusts avolume setting of the first device to the target volume level.

In some examples, the wireless signal is a first wireless signal, thelocation of the second device is a first location of the second device,and the control circuitry is further configured to receive a secondwireless signal from the second device before the first wireless signalis received. The control circuitry determines a second signal strengthof the second wireless signal, determines a second location of thesecond device based on the second signal strength of the second wirelesssignal, and determines the target volume level by matching the firstlocation to the second location and, in response to matching the firstlocation to the second location, retrieving, as the target volume level,a volume level, from among the historical volume level data, that wasset for the first device when the second wireless signal was received.

In another aspect, the control circuitry is further configured toestimate a distance between the first device and the second device basedon the signal strength of the wireless signal and determine the targetvolume level based on the estimated distance.

In a further example, the control circuitry is further configured togenerate the historical volume level data by determining a plurality oflocations of the second device based on respective signal strengths ofadditional wireless signals received at respective times, and storing inthe memory a table having entries that associate the plurality oflocations of the second device with respective volume levels set for thefirst device at the respective times. In such an example, the controlcircuitry may determine the target volume level based on the table.

In some aspects, the control circuitry is further configured todetermine a time when the wireless signal was received from the seconddevice; filter the table to exclude entries for locations of the seconddevice that were determined based on the signal strengths of theadditional wireless signals that were received at respective timesoutside a threshold of proximity to the time when the wireless signalwas received; and determine the target volume level based on thefiltered table.

In another example, the wireless signal is a first wireless signal, thesignal strength is a first signal strength, the location is a firstlocation of the second device, and the control circuitry is furtherconfigured to generate the historical volume level data by receiving, atthe first device over a period of time, a plurality of second wirelesssignals from the second device; determining a plurality of second signalstrengths of the plurality of second wireless signals, respectively;determining a plurality of second locations of the second device basedon the plurality of second wireless signals, respectively; determining aplurality of second volume levels set for the first device when thesecond device was located at the plurality of second locations; andstoring in the memory a table that associates the plurality of locationsof the second device with the plurality of second volume levels,correspondingly. In such an example, the control circuitry may beconfigured to determine the target volume level by matching the firstlocation of the second device to a location from among the plurality ofsecond locations indicated in the table; and identifying, in the table,one of the plurality of volume levels that corresponds to the matchedlocation.

In another aspect, the control circuitry is further configured toexclude from the historical volume level data volume levels for wirelesssignals that were received while a volume modification command wasentered for the first device.

In yet another example, the control circuitry is further configured toclassify the signal strength of the wireless signal into one of aplurality of signal strength ranges, and determine the target volumelevel by identifying, based on the historical volume data, a volumecorresponding to the classified one of the plurality of signal strengthranges.

In some aspects, the communication port is further configured toconcurrently receive a plurality of wireless signals from a plurality ofsecond devices, respectively, and the control circuitry is furtherconfigured to determine a plurality of signal strengths of the pluralityof wireless signals, respectively, and determine the location of thesecond device based on the plurality of signal strengths.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the disclosure will beapparent upon consideration of the following detailed description, takenin conjunction with the accompanying drawings, in which like referencecharacters refer to like parts throughout, and in which:

FIG. 1 shows an illustrative environment for implementation of a systemfor learning device volume level preferences and automatically adjustingdevice volume based on learned volume level preferences, in accordancewith some embodiments of the disclosure;

FIG. 2 is an illustrative block diagram of an example system forlearning device volume level preferences and automatically adjustingdevice volume based on learned volume level preferences, in accordancewith some embodiments of the disclosure;

FIG. 3 depicts an illustrative flowchart of a process for learningdevice volume level preferences and automatically adjusting devicevolume based on learned volume level preferences, in accordance withsome embodiments of the disclosure;

FIG. 4 depicts an illustrative flowchart of a process for learningvolume level preferences, in accordance with some embodiments of thedisclosure;

FIG. 5 depicts an example frequency graph of wireless signal strength,which is generated in accordance with some embodiments of thedisclosure;

FIG. 6 depicts an example data structure for historical volume leveldata, which is employed in accordance with some embodiments of thedisclosure;

FIG. 7 depicts an additional example data structure for historicalvolume level data, which is employed in accordance with some embodimentsof the disclosure; and

FIG. 8 depicts an illustrative flowchart of a process for automaticallyadjusting device volume based on learned volume level preferences, inaccordance with some embodiments of the disclosure.

DETAILED DESCRIPTION

FIG. 1 shows an illustrative environment 100 within which a system andrelated process for learning device volume level preferences andautomatically adjusting device volume based on learned volume levelpreferences may be implemented, in accordance with some embodiments ofthe disclosure. Although FIG. 1 shows a number and configuration ofindividual components, in some embodiments, any number of the componentsshown in FIG. 1 may be combined and/or integrated as one device. Theenvironment 100 has a floorplan with multiple viewing and/or listeningareas 102 (sometimes referred to herein as locations), from which one ormore users 104 may consume (e.g., view and/or listen to) contentprovided via a device 106 such as a television and/or any device capableof playing audio content. Areas 102 may be located at various distancesfrom device 106 and may have varying acoustic properties that mayincrease or decrease the audio level that user 104 perceives from device106 when consuming content while positioned within the respective areas.Thus, user 104 may desire that the volume level of device 106 beadjusted (e.g., increased or decreased) to suit the particular area fromwhich the user is presently consuming the content, thereby providinguser 104 with a consistent perceived volume level as the user moves tothe various user areas 102.

In one aspect, the systems and related processes herein learn the users'104 preferences as to the volume levels of device 106 when the user waslocated in the various areas 102 at various times and/or days of theweek, and automatically adjusts the volume level of device 106 based onthe learned volume level preferences, without requiring further userintervention, such as manual input of a volume level adjustment commandvia a button or a voice-based user interface of remote control 108,set-top box 110, or device 106. The systems and processes herein, forinstance, are configured to track (112) historical data, which mayinclude historical volume level settings set for device 106 for variouslocations of user 104 and/or of remote control 108 (or an Internet ofThings (IoT)-enabled device, or a wearable electronic device, or thelike) and/or at various times of the day and/or days of the week, storethe tracked data in database 114, and automatically set or adjust (116)the volume level of device 106 based on the data stored in database 114.Additional aspects of the components and functionality of such systemsand processes are described in further detail elsewhere herein.

FIG. 2 is an illustrative block diagram of an example system 200 forlearning device volume level preferences and automatically adjustingdevice volume based on learned volume level preferences, in accordancewith some embodiments of the disclosure. Although FIG. 2 shows certainnumbers of components, in various examples, system 200 may include fewerthan the illustrated components and/or multiples of one or moreillustrated components. System 200 includes set-top box 202, one or morecomputing devices 204 (e.g., remote controls, IoT devices, wearableelectronic devices, and/or the like), television 206 (or any otherdevice capable of playing audio content via a speaker 236), and mediacontent source 208. Set-top box 202 is communicatively coupled totelevision 206 via a hardwired connection or any other suitableconnection. Computing devices 204 are communicatively coupled to set-topbox 202 via one or more wireless communication paths 210, such as viaradio frequency wireless signals, infrared signals, optical signals, orany other suitable wireless signal. Set-top box 202 includes controlcircuitry 212, input/output (I/O) path 218, and historical volume leveldatabase 220, and control circuitry 212 includes storage 214 andprocessing circuitry 216. Computing device 204 includes controlcircuitry 222, I/O path 228, speaker 230, display 232, and user inputinterface 234. Control circuitry 222 includes storage 224 and processingcircuitry 226. Control circuitry 212 and/or 222 may be based on anysuitable processing circuitry such as processing circuitry 216 and/or226. As referred to herein, processing circuitry should be understood tomean circuitry based on one or more microprocessors, microcontrollers,digital signal processors, programmable logic devices,field-programmable gate arrays (FPGAs), application-specific integratedcircuits (ASICs), etc., and may include a multi-core processor (e.g.,dual-core, quad-core, hexa-core, or any suitable number of cores). Insome embodiments, processing circuitry may be distributed acrossmultiple separate processors, for example, multiple of the same type ofprocessors (e.g., two Intel Core i9 processors) or multiple differentprocessors (e.g., an Intel Core i7 processor and an Intel Core i9processor).

Each of storage 214, storage 224, and/or storages of other components ofsystem 200 (e.g., storages of media content source 208, television 206,and/or the like) may be an electronic storage device. As referred toherein, the phrase “electronic storage device” or “storage device”should be understood to mean any device for storing electronic data,computer software, or firmware, such as random-access memory, read-onlymemory, hard drives, optical drives, digital video disc (DVD) recorders,compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3Ddisc recorders, digital video recorders (DVRs, sometimes called apersonal video recorder, or PVR), solid state devices, quantum storagedevices, gaming consoles, gaming media, or any other suitable fixed orremovable storage devices, and/or any combination of the same. Each ofstorage 214, storage 224, and/or storages of other components of system200 may be used to store various types of content, historical devicevolume level-related data, metadata, media guidance data, and or othertypes of data. Non-volatile memory may also be used (e.g., to launch aboot-up routine and other instructions). Cloud-based storage may be usedto supplement storages 214, 224 or instead of storages 214, 224. In someembodiments, control circuitry 212 and/or 222 executes instructions foran application stored in memory (e.g., storage 214 and/or 224).Specifically, control circuitry 212 and/or 222 may be instructed by theapplication to perform the functions discussed herein. In someimplementations, any action performed by control circuitry 212 and/or222 may be based on instructions received from the application. Forexample, the application may be implemented as software or a set ofexecutable instructions that may be stored in storage 214 and/or 224 andexecuted by control circuitry 212 and/or 222. In some embodiments, theapplication may be a client/server application where only a clientapplication resides on computing device 204, and a server applicationresides on set-top box 202.

The application may be implemented using any suitable architecture. Forexample, it may be a stand-alone application wholly implemented oncomputing device 204. In such an approach, instructions of theapplication are stored locally (e.g., in storage 224), and data for useby the application is downloaded on a periodic basis (e.g., from anout-of-band feed, from an Internet resource, or using another suitableapproach). Control circuitry 222 may retrieve instructions of theapplication from storage 224 and process the instructions to perform thefunctionality described herein. Based on the processed instructions,control circuitry 222 may determine what action to perform when input isreceived from user input interface 234.

In client/server-based embodiments, control circuitry 222 may includecommunication circuitry suitable for communicating with an applicationserver (e.g., set-top box 202) or other networks or servers. Theinstructions for carrying out the functionality described herein may bestored on the application server. Communication circuitry may include acable modem, an integrated services digital network (ISDN) modem, adigital subscriber line (DSL) modem, a telephone modem, an Ethernetcard, or a wireless modem for communication with other equipment, or anyother suitable communication circuitry. Such communication may involvethe Internet or any other suitable communication networks or paths(e.g., communication paths 210). In another example of aclient/server-based application, control circuitry 222 runs a webbrowser that interprets web pages provided by a remote server (e.g.,set-top box 202 or a separate server). For example, the remote servermay store the instructions for the application in a storage device.Computing device 204 may receive inputs from the user via user inputinterface 234 and transmit those inputs to the set-top box 202 forprocessing and adjusting volume of television 206.

A user may send instructions to control circuitry 212 and/or 222 usinguser input interface 234. User input interface 234 may be any suitableuser interface, such as a remote control, trackball, keypad, keyboard,touchscreen, touchpad, stylus input, joystick, voice recognitioninterface, gaming controller, or other user input interfaces. User inputinterface 234 may be integrated with or combined with display 232, whichmay be a monitor, a television, a liquid crystal display (LCD),electronic ink display, or any other equipment suitable for displayingvisual images.

Set-top box 202 and computing device 204 may receive content and datavia input/output (hereinafter “I/O”) path 218 and 228, respectively. Forinstance, I/O path 218 may include a communication port configured toreceive a live content stream from a server and/or media content source208 via a communication path, such as a network. I/O paths 218, 228 mayprovide content (e.g., a live stream of content, broadcast programming,on-demand programming, Internet content, content available over a localarea network (LAN) or wide area network (WAN), and/or other content) anddata to control circuitry 212 and ultimately to television 206 forplayback. Control circuitry 212 may be used to send and receivecommands, requests, and other suitable data using I/O paths 218, 228.I/O paths 218, 228 may connect control circuitry 212, 222 (andspecifically processing circuitry 216, 226) to one or more communicationpaths 210, by which various I/O functions may be provided.

Media content source 208 may include one or more types of contentdistribution equipment, including television distribution facilities,cable system headends, satellite distribution facilities, programmingsources (e.g., television broadcasters, such as NBC, ABC, HBO, etc.),intermediate distribution facilities and/or servers, Internet providers,on-demand media servers, and other content providers. NBC is a trademarkowned by the National Broadcasting Company, Inc.; ABC is a trademarkowned by the American Broadcasting Company, Inc.; and HBO is a trademarkowned by the Home Box Office, Inc. Media content source 208 may be theoriginator of content (e.g., a television broadcaster, a Webcastprovider, etc.) or may not be the originator of content (e.g., anon-demand content provider, an Internet provider of content of broadcastprograms for downloading, etc.). Media content source 208 may includecable sources, satellite providers, on-demand providers, Internetproviders, over-the-top content providers, or other providers ofcontent. Media content source 208 may also include a remote media serverused to store different types of content (e.g., including video contentselected by a user) in a location remote from set-top box 202. Systemsand methods for remote storage of content and providing remotely storedcontent to user equipment are discussed in greater detail in connectionwith Ellis et al., U.S. Pat. No. 7,761,892, issued Jul. 20, 2010, whichis hereby incorporated by reference herein in its entirety.

Having described system 200, reference is now made to FIG. 3, whichdepicts an illustrative flowchart of process 300 for learning devicevolume level preferences and automatically adjusting device volume basedon learned volume level preferences, which may be implemented by usingsystem 200, in accordance with some embodiments of the disclosure. Invarious embodiments, individual steps of process 300, or any processdescribed herein, may be implemented by one or more components of system200. Although the present disclosure may describe certain steps ofprocess 300 (and of other processes described herein) as beingimplemented by certain components of system 200 (e.g., set-top box 202),this is for purposes of illustration only, and it should be understoodthat other components of system 200 (e.g., one or more remote server(s))may implement those steps instead.

At 302, during a learning mode, control circuitry 212 conducts analgorithm to learn volume level preferences for television 206, asdescribed in further detail below in connection with FIG. 4 through FIG.7. At 304, during an active mode, control circuitry 212 automaticallyadjusts the volume level of television 206 based on the volume levelpreferences learned during the learning mode at 302, as described infurther detail below in connection with FIG. 8. Although FIG. 3 showsactive mode (302) and learning mode (304) being implementedsequentially, in various embodiments, active mode (302) and learningmode (304) may be implemented concurrently. At 306, control circuitry212 determines whether to terminate process 300 (e.g., if a power downcommand was received for set-top box 202 and/or television 206). Ifprocess 300 is not to be terminated (“No” at 306), then control passesback to 302 to learn and/or update any volume level preferences fortelevision 206 to remain adaptive to user preference changes over time.Otherwise, (“Yes” at 306), process 300 terminates.

FIG. 4 depicts an illustrative flowchart of process 302 for learningvolume level preferences, in accordance with some embodiments of thedisclosure. At 402, control circuitry collects (e.g., continuously orperiodically, such as once every two minutes) volume level data fortelevision 206, signal strength data and/or location data from awireless signal(s) received from one or more computing device(s) 204,date and/or time data from a clock (not shown in FIG. 2) implemented byset-top box 202, and/or any other type of data that may be utilized tocharacterize historical volume levels set for television 206 for varioususer locations and/or at various times of day or on various days of theweek. In some embodiments, control circuitry 212 determines the signalstrength levels of received wireless signals by using a signal strengthdetection mechanism, such as power detector circuitry and/or software.In one example, data collected at 402 includes at least volume leveldata of television 206, wireless signal strength data from computingdevice(s) 204, and timestamp data indicating time(s) and/or date(s) whenrespective wireless signals were captured from computing device(s) 204.In some aspects, volume level changes are stored or recorded only ifsuch volume level changes are stable for a period of time, to avoidcorrupting the volume level data with levels undesired by a user who isactively changing a volume level. Using such collected data, volumepreference estimation for television 206 may be performed for single ormultiple user locations and for different times of the day, as describedabove in connection with FIG. 1. For example, because the strength of awireless signal is inversely proportional to the square of the distancefrom the source (sometimes referred to as the inverse-square law), insome aspects, control circuitry 212 uses respective signal strengths ofone or more wireless signals received from one or more computing devices204 (e.g., which may be expected to be carried by a user) to ascertain adistance of the computing devices 204 (e.g., and/or of the user) fromset-top box 202 (and/or television 206) and/or a location of thecomputing devices 204 (e.g., and/or of the user) with respect to set-topbox 202 (and/or television 206). Such locations may be determined in onespatial dimension, two spatial dimensions, three spatial dimensions,and/or four dimensions (with time as the fourth dimension). Forinstance, concurrently received signals from multiple computing devices204 may be relied upon for triangulation, trilateration, and/ortriangulateration to determine or estimate a location of the userrelative to set-top box 202. Alternatively or additionally, in otherembodiments, one or more other sensor devices such as depth sensors,two-dimensional or three-dimensional cameras, or the like may beutilized to determine user position.

At 404, control circuitry 212 determines whether sufficient data (e.g.,a statistically significant amount of data) has been collected at 402.If insufficient data has been collected at 402 (“No” at 404), thencontrol passes back to 402, at which control circuitry 212 collectsadditional data in the manner described above. If, on the other hand,sufficient data has been collected at 402 (“Yes” at 404), then controlpasses to 406. In some aspects, even after sufficient data has beencollected at 402, control circuitry 212 selects for processing (asdescribed in further detail below), from among the collected data, alatest portion of the data, such as a portion of data collected on orafter a certain recent cutoff date and/or time, and excludes fromprocessing data collected before the cutoff date and/or time, to avoidrelying on out-of-date data that may have become stale over time.Alternatively, in still another aspect, control circuitry 212 selectsall or some portion of the data collected at 402 for processing, andapplies selective weighting to the data (for instance, by using anexponential curve that increases according to recency of collection, orby using another suitable curve) to assign a greater weight to recentlycollected data than to data collected longer ago.

At 406, control circuitry 212 quantizes and/or scales the various itemsof data that was collected at 402 and/or selected and/or weighted at404. For example, control circuitry 212 may quantize volume levels to ascale ranging from 0 to 100, with 0 representing mute enabled. Controlcircuitry 212 may scale wireless signal strengths in a non-linear mannerto nullify the effect of squared distances, and then quantize the scaledwireless signal strengths to a scale ranging from 0 to 100. Controlcircuitry 212 may convert timestamps to the time of day and thenquantize the times of day to intervals of 15 or 30 minutes, in someexamples.

At 408, control circuitry 212 estimates a user location distribution bygenerating or plotting a frequency graph of the quantized and scaledversions of the signal strength levels collected at 402 over time on acomputing device 204-by-computing device 204 basis, with the plot foreach computing device representing a spatial dimension in some examples.With a statistically significant number of data points, the frequencygraph may resemble a uni-modal or multi-modal plot with each of themodes indicating a user location. At 410, the frequency graph is furtherprocessed by using the moving averages method to reduce or eliminatenoise. The mode values, which act a proxy for user locations, are thenextracted from the frequency graph at 412.

FIG. 5 depicts an example frequency graph 500 of quantized and scaledwireless signal strengths, which is generated at 408, in accordance withsome embodiments of the disclosure. On its x-axis, the graph 500includes quantized and scaled wireless signal strength values. On itsy-axis, the graph 500 includes a number of instances 504 (e.g., afrequency of occurrences) that a wireless signal was received by controlcircuitry 212 from computing device 204 over communication path 210having the indicated quantized and scaled wireless signal strengthvalue. The particular graph 500 shown in FIG. 5 shows three modes 506,508, 510, which correspond to three user locations or contentconsumption areas.

At 414, control circuitry 212 classifies the quantized and scaledversions of the volume data based on the mode values extracted at 412,for instance, by utilizing a nearest neighbor algorithm or the like. Insome aspects, the volume data is further classified based on time of dayintervals and/or days of the week, to permit filtering of the data tolearn and utilize volume level preference patterns, if any, that arebased on time and/or day of the week.

In some aspects, at 416, control circuitry 212 computes a median valueof the scaled and quantized volume values determined for a particularuser location and/or time of day interval, for effective elimination ofany aberrations. The computed median volume level value is then storedat 418 in database 220 as the target volume level for a particular userlocation, time of day interval, and/or day of the week. At 420, controlcircuitry 212 determines whether the learning algorithm of process 302is to be repeated. If so (“Yes” at 420), the control passes back to 402to repeat the process 302 in the manner described above. If not (“No” at420), then process 302 terminates. For instance, in some embodiments,television volume preference models may be reset in case of a layoutchange in a home or other content consumption environment. Such anoption can be provided within a settings/configuration screen of set-topbox 202. Additionally or alternatively, user volume preferences may bestored as user profiles, so each user (e.g., who may be associated witha corresponding computing device 204), may enjoy their own unique volumepreferences and automatic volume adjustment. In still another aspect,control circuitry 212 may store or cache (for example, in storage 214)at least some of the intermediate computations described herein for thelearning mode (for instance, results of computations previouslyperformed in connection with prior iterations of 402 through 420 of FIG.4) to reduce learning or retraining times for subsequent iterations ofthe procedures of 402 through 420 of FIG. 4.

FIG. 6 depicts an example data structure 600 for historical volume leveldata that may be generated according to process 302 and stored at 418,in the manner described above, in accordance with some embodiments ofthe disclosure. Each item of historical volume level data includesdevice identifier 602 that identifies the computing device 204 fromwhich the particular wireless signal was received by control circuitry212; date 604, day of week 606, time 608, and/or time interval 610 whenthe wireless signal was received from computing device 204; the rawsignal strength 612 and/or scaled and quantized version of the signalstrength 614 of the received wireless signal; and the raw volume level616 and/or scaled and quantized volume level 618 set for television 206when the wireless signal was received. FIG. 7 depicts an example datastructure 700 for historical volume level data that may be generatedaccording to process 302 and stored 418 in the manner described above,in accordance with some embodiments of the disclosure. Each item of theadditional historical volume level data includes device identifier 702that identifies the computing device 204 from which the particularwireless signal was received by control circuitry 212; scaled andquantized signal strength range 704; and a location identifier 706(e.g., which may correspond to an index of the modes extracted at 412),time interval 708, and corresponding target volume level 710 to be usedfor automatic volume level adjustment for the given location 706 and/ortime interval 708.

FIG. 8 depicts an illustrative flowchart of process 304 forautomatically adjusting, during an active mode, volume of television 206based on volume level preferences learned according to process 302, inaccordance with some embodiments of the disclosure. In general, duringthe active mode, control circuitry 212 automatically adjusts the volumelevel of device 206 continuously and/or periodically based on thedynamic user location, time of day interval, and/or day information. At802, control circuitry 212 receives one or more wireless signal(s) fromone or more computing device(s) 204 over communication path(s) 210. At804, computing device 204 determines the respective signal strengths ofthe wireless signals received at 802, for instance in a manner similarto that described above in connection with FIG. 4 (402). At 806, controlcircuitry 212 determines a location of the computing device(s) 204 (oran inferred user location) based on the signal strength(s) determined at804. For instance, control circuitry 212 may scale and quantize thedetermined signal strength(s), match them to one of the scaled andquantized signal strength ranges 704 stored in database 220, andretrieve the corresponding location identifier 706 indicated in thedatabase 220. At 808, in cases where location ranges are used instead ofindividual location identifiers, control circuitry 212 may match thelocation determined at 806 to a location 706 or location range given inthe database 220.

In some embodiments, in cases where no past data or an insignificantamount of past data has been collected for particular time period (e.g.,if the user is watching television at a completely different time ofday), control circuitry 212 disregards the current day and/or timeinformation and adjusts the volume considering only the determinedlocation of the computing device(s) 204 (or the inferred user location).Accordingly, at 810, control circuitry 212 determines whether day and/ortime information are to be utilized as criteria for automatic volumeadjustment. If so (“Yes” at 810), then at 812 control circuitry 212retrieves the current day and/or time information (e.g., from a clock ofset-top box 202), and then determines the target volume level fortelevision 206 based on the location determined at 806 and/or matched at808, and by matching the current day and/or time information to theday/time information 604, 606, 608, 610, 708 stored in database 220. Ifnot (“No” at 810), then at 814 control circuitry 212 determines thetarget volume level for television 206 based on the location determinedat 806 without regard for the current day and/or time. At 816, controlcircuitry automatically sets or adjusts the volume of television 206 tothe target volume level determined at 812 or 814, as the case may be.

The systems and processes discussed above are intended to beillustrative and not limiting. One skilled in the art would appreciatethat the actions of the processes discussed herein may be omitted,modified, combined, and/or rearranged, and any additional actions may beperformed without departing from the scope of the invention. Moregenerally, the above disclosure is meant to be exemplary and notlimiting. Only the claims that follow are meant to set bounds as to whatthe present disclosure includes. Furthermore, it should be noted thatthe features and limitations described in any one embodiment may beapplied to any other embodiment herein, and flowcharts or examplesrelating to one embodiment may be combined with any other embodiment ina suitable manner, done in different orders, or done in parallel. Inaddition, the systems and methods described herein may be performed inreal time. It should also be noted that the systems and/or methodsdescribed above may be applied to, or used in accordance with, othersystems and/or methods.

What is claimed is:
 1. A method for automatically adjusting devicevolume based on learned volume preferences, the method comprising:receiving, at a first device, a wireless signal from a second device;determining a signal strength of the wireless signal; determining alocation of the second device based on the signal strength of thewireless signal; retrieving historical volume level data stored inmemory for the first device; determining a target volume level for thefirst device based on the location of the second device and thehistorical volume level data; and automatically adjusting a volumesetting of the first device to the target volume level.
 2. The method ofclaim 1, wherein the wireless signal is a first wireless signal, thelocation of the second device is a first location of the second device,and the method further comprises: receiving a second wireless signalfrom the second device before the first wireless signal is received;determining a second signal strength of the second wireless signal; anddetermining a second location of the second device based on the secondsignal strength of the second wireless signal, wherein the target volumelevel is determined by: matching the first location to the secondlocation; and in response to matching the first location to the secondlocation, retrieving, as the target volume level, a volume level, fromamong the historical volume level data, that was set for the firstdevice when the second wireless signal was received.
 3. The method ofclaim 1, further comprising estimating a distance between the firstdevice and the second device based on the signal strength of thewireless signal, wherein the target volume level is further determinedbased on the estimated distance.
 4. The method of claim 1, furthercomprising generating the historical volume level data by: determining aplurality of locations of the second device based on respective signalstrengths of additional wireless signals received at respective times;and storing in the memory a table having entries that associate theplurality of locations of the second device with respective volumelevels set for the first device at the respective times, wherein thetarget volume level is determined based on the table.
 5. The method ofclaim 4, further comprising: determining a time when the wireless signalwas received from the second device; and filtering the table to excludeentries for locations of the second device that were determined based onthe signal strengths of the additional wireless signals that werereceived at respective times outside a threshold of proximity to thetime when the wireless signal was received, wherein the target volumelevel is determined based on the filtered table.
 6. The method of claim1, wherein the wireless signal is a first wireless signal, the signalstrength is a first signal strength, the location is a first location ofthe second device, and the method further comprises generating thehistorical volume level data by: receiving, at the first device over aperiod of time, a plurality of second wireless signals from the seconddevice; determining a plurality of second signal strengths of theplurality of second wireless signals, respectively; determining aplurality of second locations of the second device based on theplurality of second wireless signals, respectively; determining aplurality of second volume levels set for the first device when thesecond device was located at the plurality of second locations; andstoring in the memory a table that associates the plurality of locationsof the second device with the plurality of second volume levels,correspondingly, wherein the target volume level is determined bymatching the first location of the second device to a location fromamong the plurality of second locations indicated in the table andidentifying, in the table, one of the plurality of volume levels thatcorresponds to the matched location.
 7. The method of claim 1, furthercomprising excluding from the historical volume level data volume levelsfor wireless signals that were received while a volume modificationcommand was entered for the first device.
 8. The method of claim 1,further comprising classifying the signal strength of the wirelesssignal into one of a plurality of signal strength ranges, wherein thetarget volume level is determined by identifying, based on thehistorical volume data, a volume corresponding to the classified one ofthe plurality of signal strength ranges.
 9. The method of claim 1,further comprising: concurrently receiving, at the first device, aplurality of wireless signals from a plurality of second devices,respectively; and determining a plurality of signal strengths of theplurality of wireless signals, respectively, wherein the location of thesecond device is determined based on the plurality of signal strengths.10. The method of claim 1, wherein the second device is at least one ofa remote control, a smart watch, or a wearable electronic device.
 11. Adevice with automatic volume adjustment based on learned volumepreferences, the device comprising: a communication port configured toreceive a wireless signal from a second device; a memory configured tostore historical volume level data; and control circuitry configured to:determine a signal strength of the wireless signal; determine a locationof the second device based on the signal strength of the wirelesssignal; retrieve the historical volume level data from the memory;determine a target volume level for the first device based on thelocation of the second device and the historical volume level data; andautomatically adjust a volume setting of the first device to the targetvolume level.
 12. The device of claim 11, wherein the wireless signal isa first wireless signal, the location of the second device is a firstlocation of the second device, and the control circuitry is furtherconfigured to: receive a second wireless signal from the second devicebefore the first wireless signal is received; determine a second signalstrength of the second wireless signal; determine a second location ofthe second device based on the second signal strength of the secondwireless signal; and determine the target volume level by: matching thefirst location to the second location; and in response to matching thefirst location to the second location, retrieving, as the target volumelevel, a volume level, from among the historical volume level data, thatwas set for the first device when the second wireless signal wasreceived.
 13. The device of claim 11, wherein the control circuitry isfurther configured to: estimate a distance between the first device andthe second device based on the signal strength of the wireless signal;and determine the target volume level based on the estimated distance.14. The device of claim 11, wherein the control circuitry is furtherconfigured to: generate the historical volume level data by: determininga plurality of locations of the second device based on respective signalstrengths of additional wireless signals received at respective times;and storing in the memory a table having entries that associate theplurality of locations of the second device with respective volumelevels set for the first device at the respective times; and determinethe target volume level based on the table.
 15. The device of claim 14,wherein the control circuitry is further configured to: determine a timewhen the wireless signal was received from the second device; filter thetable to exclude entries for locations of the second device that weredetermined based on the signal strengths of the additional wirelesssignals that were received at respective times outside a threshold ofproximity to the time when the wireless signal was received; anddetermine the target volume level based on the filtered table.
 16. Thedevice of claim 11, wherein the wireless signal is a first wirelesssignal, the signal strength is a first signal strength, the location isa first location of the second device, and the control circuitry isfurther configured to: generate the historical volume level data by:receiving, at the first device over a period of time, a plurality ofsecond wireless signals from the second device; determining a pluralityof second signal strengths of the plurality of second wireless signals,respectively; determining a plurality of second locations of the seconddevice based on the plurality of second wireless signals, respectively;determining a plurality of second volume levels set for the first devicewhen the second device was located at the plurality of second locations;and storing in the memory a table that associates the plurality oflocations of the second device with the plurality of second volumelevels, correspondingly; and determine the target volume level by:matching the first location of the second device to a location fromamong the plurality of second locations indicated in the table; andidentifying, in the table, one of the plurality of volume levels thatcorresponds to the matched location.
 17. The device of claim 11, whereinthe control circuitry is further configured to exclude from thehistorical volume level data volume levels for wireless signals thatwere received while a volume modification command was entered for thefirst device.
 18. The device of claim 11, wherein the control circuitryis further configured to: classify the signal strength of the wirelesssignal into one of a plurality of signal strength ranges; and determinethe target volume level by identifying, based on the historical volumedata, a volume corresponding to the classified one of the plurality ofsignal strength ranges.
 19. The device of claim 11, wherein thecommunication port is further configured to concurrently receive aplurality of wireless signals from a plurality of second devices,respectively, and wherein the control circuitry is further configuredto: determine a plurality of signal strengths of the plurality ofwireless signals, respectively; and determine the location of the seconddevice based on the plurality of signal strengths.
 20. The device ofclaim 11, wherein the second device is at least one of a remote control,a smart watch, or a wearable electronic device.